package thread02;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

public class threaddemo03 {
    public static void main(String[] args) throws ExecutionException, InterruptedException {

        /*1.创建类实现callable接口
          2.重写call，有返回值，返回的是run方法的结果
          3.创建mycallable的对象，表示多线程要执行的任务
          4.创建futuretask对象，管理多线程返回的结果
          5.创建thread的对象，并启动


         */
//        3.创建mycallable的对象，表示多线程要执行的任务
        Myrunable m1 = new Myrunable();
//        4.创建futuretask对象，管理多线程返回的结果
        FutureTask<Integer> fu = new FutureTask<>(m1);
//        5.创建thread的对象，并启动
        Thread t1 = new Thread(fu);
        t1.start();
        System.out.println(fu.get());
    }
}
